#include <bits/stdc++.h>
#define endl '\n'
using namespace std;

const int TEST_CASES = 25;
random_device rd;
mt19937 gen(rd());

// 生成一个随机整型数
int randomInt(int min, int max) {
    return uniform_int_distribution<int>(min, max)(gen);
}

// 生成测试用例
void test(int testCase, ofstream& fout) {
    if (testCase == 1) {
<<<<<<< HEAD
        // 样例1: 题目给出的示例
        fout << "4\n33 44 11 22\n";
    } else if (testCase == 2) {
        // 样例2: 题目给出的示例
        fout << "7\n10 10 58 31 63 40 76\n";
    } else if (testCase == 3) {
        // 边界情况：只有2个士兵
        fout << "2\n50 30\n";
    } else if (testCase == 4) {
        // 边界情况：所有士兵身高相同
        fout << "5\n25 25 25 25 25\n";
    } else if (testCase == 5) {
        // 边界情况：士兵身高严格递减
        fout << "6\n100 80 60 40 20 10\n";
    } else if (testCase <= 8) {
        // 小规模数据
        int n = randomInt(2, 10);
        fout << n << "\n";
        for (int i = 0; i < n; i++) {
            fout << randomInt(1, 100) << " ";
        }
        fout << "\n";
    } else if (testCase <= 12) {
        // 中等规模数据
        int n = randomInt(50, 100);
        fout << n << "\n";
        for (int i = 0; i < n; i++) {
            fout << randomInt(1, 100) << " ";
        }
        fout << "\n";
    } else if (testCase <= 18) {
        // 大规模数据（接近题目限制）
        int n = randomInt(90, 100);
        fout << n << "\n";
        for (int i = 0; i < n; i++) {
            fout << randomInt(1, 100) << " ";
        }
        fout << "\n";
    } else if (testCase == 19) {
        // 特殊情况：最大值在最后，最小值在最前
        int n = 50;
        fout << n << "\n";
        fout << "1 "; // 最小值在最前
        for (int i = 0; i < n-2; i++) {
            fout << randomInt(10, 90) << " ";
        }
        fout << "100\n"; // 最大值在最后
    } else if (testCase == 20) {
        // 特殊情况：最大值在最前，最小值在最后
        int n = 50;
        fout << n << "\n";
        fout << "100 "; // 最大值在最前
        for (int i = 0; i < n-2; i++) {
            fout << randomInt(10, 90) << " ";
        }
        fout << "1\n"; // 最小值在最后
    } else if (testCase <= 23) {
        // 特殊情况：多个最大值和最小值
        int n = randomInt(20, 50);
        fout << n << "\n";
        int max_val = randomInt(80, 100);
        int min_val = randomInt(1, 20);
        for (int i = 0; i < n; i++) {
            int choice = randomInt(1, 3);
            if (choice == 1) {
                fout << max_val << " "; // 多个最大值
            } else if (choice == 2) {
                fout << min_val << " "; // 多个最小值
            } else {
                fout << randomInt(min_val+1, max_val-1) << " "; // 中间值
            }
        }
        fout << "\n";
    } else {
        // 特殊情况：完全随机
        int n = randomInt(80, 100);
        fout << n << "\n";
        for (int i = 0; i < n; i++) {
            fout << randomInt(1, 100) << " ";
=======
        // 样例测试组1
        fout << "8\n1 2 4 3 2 3 5 4\n";
    } else if (testCase == 2) {
        // 样例测试组2
        fout << "2\n4 7\n";
    } else if (testCase == 3) {
        // 样例测试组3
        fout << "3\n3 9 8\n";
    } else if (testCase == 4) {
        // 样例测试组4
        fout << "2\n1 7\n";
    } else if (testCase == 5) {
        // 样例测试组5
        fout << "5\n5 4 3 2 1\n";
    } else if (testCase == 6) {
        // 样例测试组6
        fout << "4\n4 3 4 5\n";
    } else if (testCase == 7) {
        // 样例测试组7
        fout << "2\n50 48\n";
    } else if (testCase == 8) {
        // 边界情况：最小的n=2，两个偶数
        fout << "2\n2 4\n";
    } else if (testCase == 9) {
        // 边界情况：最小的n=2，两个奇数
        fout << "2\n1 3\n";
    } else if (testCase == 10) {
        // 边界情况：最小的n=2，一奇一偶
        fout << "2\n1 2\n";
    } else if (testCase <= 13) {
        // 小规模随机测试
        int n = randomInt(2, 10);
        fout << n << "\n";
        for (int i = 0; i < n; i++) {
            fout << randomInt(1, 50);
            if (i < n - 1) fout << " ";
        }
        fout << "\n";
    } else if (testCase <= 17) {
        // 中等规模随机测试
        int n = randomInt(20, 30);
        fout << n << "\n";
        for (int i = 0; i < n; i++) {
            fout << randomInt(1, 50);
            if (i < n - 1) fout << " ";
        }
        fout << "\n";
    } else {
        // 大规模随机测试
        int n = randomInt(40, 50);
        fout << n << "\n";
        for (int i = 0; i < n; i++) {
            fout << randomInt(1, 50);
            if (i < n - 1) fout << " ";
>>>>>>> refs/remotes/origin/master
        }
        fout << "\n";
    }
}